using System;
using Microsoft.SPOT;

namespace MicroContainer
{
   /// <summary>
   /// Customizes dependency injection process by specifying if it is mandatory and what is name of the mapping.
   /// </summary>
   [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)]
   public sealed class DependencyAttribute : Attribute
   {
      /// <summary>
      /// Gets or sets if injection this dependency is mandatory.
      /// </summary>
      public bool Required { get; set; }
      /// <summary>
      /// Gets or sets mapping name for injecting this dependency.
      /// </summary>
      public string MappingName { get; set; }
   }
}
